#### Makefile.in --- Makefile template for the M32C simulator

### Copyright (C) 2005-2015 Free Software Foundation, Inc.
### Contributed by Red Hat, Inc.
### 
### This file is part of the GNU simulators.
### 
### This program is free software; you can redistribute it and/or modify
### it under the terms of the GNU General Public License as published by
### the Free Software Foundation; either version 3 of the License, or
### (at your option) any later version.
###
### This program is distributed in the hope that it will be useful,
### but WITHOUT ANY WARRANTY; without even the implied warranty of
### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
### GNU General Public License for more details.
###
### You should have received a copy of the GNU General Public License
### along with this program.  If not, see <http://www.gnu.org/licenses/>.

## COMMON_PRE_CONFIG_FRAG

SIM_EXTRA_CFLAGS = -Wall -DTIMER_A

SIM_RUN_OBJS = \
	main.o \
	$(ENDLIST)

SIM_OBJS = \
	gdb-if.o \
	int.o \
	load.o \
	mem.o \
	misc.o \
	reg.o \
	r8c.o \
	m32c.o \
	srcdest.o \
	syscalls.o \
	trace.o \
	$(ENDLIST)

# SIM_EXTRA_ALL = sample.x sample2.x

LIBS = $B/bfd/libbfd.a $B/libiberty/libiberty.a

## COMMON_POST_CONFIG_FRAG

arch = m32c

r8c.c : r8c.opc opc2c
	./opc2c -l r8c.out $(srcdir)/r8c.opc > r8c.c

m32c.c : m32c.opc opc2c
	./opc2c -l m32c.out $(srcdir)/m32c.opc > m32c.c

opc2c : opc2c.o safe-fgets.o
	$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) $^ -o $@ $(BUILD_LIBS)

sample.x : $(srcdir)/sample.S $(srcdir)/sample.ld
	../../gcc/xgcc $(CPUFLAGS) -B../../gcc/ -c $(srcdir)/sample.S -o sample.o
	../../ld/ld-new sample.o -o sample.x -T$(srcdir)/sample.ld

sample.mot : sample.x
	../../binutils/objcopy --srec-forceS3 -O srec sample.x sample.mot

sample2.x : sample2.o gloss.o $(srcdir)/sample.ld
	../../ld/ld-new sample2.o gloss.o -o sample2.x -T$(srcdir)/sample.ld

sample2.o : $(srcdir)/sample2.c
	../../gcc/xgcc $(CPUFLAGS) -B../../gcc/ -c $(srcdir)/sample2.c -o sample2.o

gloss.o : $(srcdir)/gloss.S
	../../gcc/xgcc $(CPUFLAGS) -B../../gcc/ -c $(srcdir)/gloss.S -o gloss.o

encodings:
	grep '/\* [01]' $(srcdir)/r8c.opc | sort

gdb-if.o : cpu.h mem.h load.h syscalls.h
int.o : int.h cpu.h mem.h
load.o : load.h cpu.h mem.h
main.o : cpu.h mem.h misc.h load.h
mem.o : mem.h cpu.h syscalls.h
misc.o : cpu.h misc.h
reg.o : cpu.h
srcdest.c : cpu.h mem.h
syscalls.c : cpu.h mem.h syscalls.h

r8c.o : cpu.h mem.h misc.h int.h

opc2c.o : opc2c.c safe-fgets.h
	$(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/opc2c.c

safe-fgets.o : safe-fgets.c safe-fgets.h
	$(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/safe-fgets.c

